Generating codes for sync words to avoid cyclic collision

ABSTRACT

Disclosed are various embodiments for circuitry that generates a sync code for wireless transmission. The system generates a sync word according to an identifier of the transmitter, the sync word being unique under a cyclic shift of the sync word. The system inserts a plurality of instances of the sync word into a data stream. The system also transmits, via the transmitter, the data stream to a receiver, the receiver being operable to perform a sliding correlation operation on the sync word.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of and priority to co-pendingU.S. Provisional patent application titled “Generating Codes for SyncWords to Avoid Cyclic Collision,” having Ser. No. 61/698,783, filed Sep.10, 2012, which is hereby incorporated by reference herein in itsentirety for all purposes.

The present application further claims the benefit of and priority toco-pending U.S. Provisional patent application titled “Generating Codesfor Sync Words to Avoid Cyclic Collision,” having Ser. No. 61/858,780,filed Jul. 26, 2013, which is hereby incorporated by reference herein inits entirety for all purposes.

BACKGROUND

Wireless communication devices may communicate with each other over awireless network according to a communication protocol. Wirelesscommunication devices may be configured to be a slave device or a masterdevice. The data transmitted from a slave device may include a “syncword” that identifies the slave device. A slave device may generate thesync word based on the slave device's identifier to a sync word byXOR'ing a pseudo-random code with a polynomial code generated from theslave device's identifier.

It may be the case that two or more slave devices transmit a respectivesync code to the master device over the wireless network. In this case,it is possible that a collision occurs such that the two sync words arereceived by the master device with a collision error.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily drawn to scale, emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a drawing of an example of a communication system according tovarious embodiments of the present disclosure.

FIG. 2 is a drawing of components of the devices of the communicationsystem of FIG. 1 according to various embodiments of the presentdisclosure.

FIG. 3A is a drawing representing an example of the functionality of async word generator of a slave device of the communication system ofFIG. 1 according to various embodiments of the present disclosure.

FIG. 3B is a drawing representing an example of the functionality of async word generator of a slave device of the communication system ofFIG. 1 according to various embodiments of the present disclosure.

FIG. 4 is a flowchart illustrating one example of functionalityimplemented as portions of the processing circuitry of a slave device ofthe communication system of FIG. 1 according to various embodiments ofthe present disclosure.

DETAILED DESCRIPTION

The present disclosure relates to generating sync words that reduce oreliminate the risk of a cyclic collision error. A wireless communicationdevice may transmit a “sync word” that allows a master device toidentify the wireless communication device. However, if two differentwireless communication devices transmit their own sync words to the samemaster device at a similar point in time, then a cyclic collision mayoccur. A cyclic collision may result when one sync word is a cyclicallyshifted version of another sync word. Various embodiments of the presentdisclosure are directed to generating sync words based on a deviceidentifier such that the generated sync word is unique under a cyclicshift of the generated sync word. Such sync words reduce or eliminatethe risk of a cyclic collision at the master device.

According to various embodiments, the Chinese Remainder Theorem (CRT) isused a basis for generating sync words according to a device identifier.Through the use of the CRT, a one-to-one bijective mapping is achievedto assign sync words to wireless communication devices. In the followingdiscussion, a general description of the system and its components isprovided, followed by a discussion of the operation of the same.

With reference to FIG. 1, shown is an example of a communication system100, according to various embodiments of the present disclosure. Thecommunication system 100 comprises a wireless network where multiplewireless communication devices may communicate with one another. Thesewireless communication devices may communicate according to a wirelesscommunication protocol. The wireless communication protocol may be, forexample, a mesh network protocol, a WiFi protocol, a Bluetooth protocol,a personal area network protocol, or any other wireless communicationprotocol.

The communication system 100 includes a wireless communication devicethat is configured to be a master device 103. The master device may be,for example, a computer system embodied in the form of a desktopcomputer, a laptop computer, a personal digital assistant, a cellulartelephone, a smartphone, a web pad, a tablet computer system, or otherdevice with like capability. The communication system 100 also includesone or more slave devices 106. A slave device may be a peripheral devicesuch as a wireless keyboard, wireless mouse, headset, microphone, etc.The slave device 106 may also be a computer system embodied in the formof a desktop computer, a laptop computer, a personal digital assistant,a cellular telephone, a smartphone, a web pad, a tablet computer system,or other device with like capability.

A slave device 106 may be operable to transmit a data stream 107 toanother device in the communication system 100. The data stream 107 maybe formatted with a data packet made up of one or more data fields.According to various embodiments, the data stream 107 may include one ormore instances of a sync word 109. The sync word 109 may be repeated oneor more times in the data stream 107. The sync word 109 may betransmitted back-to-back such that the data stream 107 includes twoadjacent fields dedicated to include the sync word 109. The data stream107 may also include other information 112 such as substantive data, aheader, a preamble, control information, security information, and/orany other information.

The master device 103 is operable to receive the data streams 107 fromone or more slave devices 106. It is possible that a cyclic collision115 occurs when the master device 103 receives a first sync word 109 athat is a cyclically shifted version of a second sync word 109 b.Following is a general description of the operation of the variouscomponents of the communication system 100 as well as an explanation ofhow a cyclic collision 115 may occur.

Some communication systems 100 allow a slave device 106 to enter areduced power mode state and then reconnect to a master device 103 whenthe slave device 106 is ready to transmit data. The slave device 106 maysend a synchronization signal to the master device 103 over the wirelessnetwork. The synchronization signal may include a sync word 109 thatuniquely identifies the slave device 106 that is transmitting data.

As shown in FIG. 1, a first slave device 106 a transmits a first datastream 107 a that includes a first sync word 109 a. The master device103 receives the data stream 107 a. When receiving the data stream 107a, it may be the case that the master device 103 does not receive theleading one or more bits of the data stream 107 a. For example, thefirst data stream 107 a may be received asynchronously such that thefirst slave device 106 a transmits the first data stream 107 a withoutcomplying with a previously established transmission time slot. Toaddress the situation where the master device 103 does not receive a fewleading bits of the first sync word 109 a, the data stream 107 a mayinclude one or more instances of the first sync word 109 a. In thenon-limiting example of FIG. 1, the first sync word 109 a is a 4-bitvalue of “1001” and a combination of the two instances of the first syncword 109 a is “10011001.” The first slave device 106 a transmits thefirst sync word 109 a twice, as two 4-bit fields, and the master device103 receives a portion of the two 4-bit fields.

As shown in the non-limiting example of FIG. 1, the leading three bitsof the first data stream 107 a are not received by the master device103. However, in the present example, the master device 103 identifies a4-bit sync word 109 a from the first slave device and, accordingly, themaster device 103 extracts the bits “1100” from the two instances of thefirst sync word 109 a. In this respect, the master device 103 extractsthe first 4 bits from the received sync word 109 in the case where thewireless communication protocol of the communication system 100 uses a4-bit sync code.

Upon identifying the sync word 109 from the data stream 107, the masterdevice 103 performs a sliding correlation operation, in which the masterdevice 103 correlates the received sync word 109, y[n], with its owninternally generated sync word, x[n]. Since the master device 103 doesnot know where the start of the sequence is, correlation is performedfor all n, where 0<=n<=N−1, where N is the number of bits of the syncword 109.

A second slave device 106 b may transmit a second data stream 107 b at asimilar point in time of the transmission of the first data stream 107a. Similar to the first data stream 107 a, the second data stream 107 bincludes multiple instances of a second sync word 109 b, where thesecond sync word 109 b identifies the second slave device 106 b. In thenon-limiting example of FIG. 1, the second sync word 109 b is a 4-bitvalue of “1100” and a combination of the two instances of the secondsync word 109 b is “11001100.” As shown in FIG. 1, the master device 103receives the first sync word 109 a and the second sync word 109 b atapproximately the same time. However, the second sync word 109 b is acyclically shifted version of the first sync word 109 a and a cycliccollision 115 occurs. As a result, the master device 103 is unable toaccurately distinguish between the identities of the first slave device106 a and the second slave device 106 b.

According to various embodiments, a slave device 106 is operable togenerate a sync word 109 in a manner that reduces or otherwiseeliminates the risk of cyclic collision 115. In this respect, the slavedevice 106 may be configured to avoid false detection ormisidentification such that x[n]≠y[m+n] for all 1<=m<=N−1. Furthermore,a reduced number of bits may be used to generate sync words 109 that areunique under cyclic shift. For example, according to variousembodiments, a 32-bit sync word is generated based on a slave device's24-bit identifier. By using a sync word 109 with fewer bits, an energysavings may be realized in low power transmission applications.

With reference to FIG. 2, shown is a drawing of the components of thedevices of the communication system 100 of FIG. 1, according to variousembodiments of the present disclosure. FIG. 2 depicts a master device103 that is operable to communicate with a slave device 106. The masterdevice 103 comprises processing circuitry 204. The processing circuitry204 may include various components such as, for example, a memory 207, areceiver 212, a transmitter 215, a sliding correlator 218, and/or othercomponents. The processing circuitry 204 and/or its components may beimplemented using one or more circuits, one or more microprocessors,application specific integrated circuits, dedicated hardware, digitalsignal processors, microcomputers, central processing units, fieldprogrammable gate arrays, programmable logic devices, state machines, orany combination thereof. In yet other embodiments, the processingcircuitry 204 may include one or more software modules executable by oneor more processing circuits. For example, the processing circuitry 204may include memory 207 configured to store instructions and/or code thatcauses the processing circuitry 204 to execute some or all of thefunctionality described herein.

The processing circuitry 204 may comprise a receiver 212 and atransmitter 215. The receiver 212 may be configured to receive wirelesssignals transmitted over a network. Wireless signals, for example, mayexpress digitally formatted information that has been mixed andmodulated by carrier signals to facilitate wireless communication. Thereceiver 212 is configured to convert received wireless signals into adigital format. For example, the receiver 212 may receive a data stream107 (FIG. 1) and convert the received data stream 107 into the digitaldomain. The transmitter 215 may generate wireless signals for wirelesstransmission to other devices in the communication system 100. Thetransmitter 215 may also be operable to convert digital data into suchwireless signals.

The sliding correlator 218 is operable to identify a sync word 109(FIG. 1) that is received by the receiver 212. The sliding correlator218 performs a sliding correlation operation that analyzes each of thebits in the received sync word 109 and compares each bit to the bits ofan expected sync word. The sliding correlator 218 may bit shift thereceived sync word 109 and perform a subsequent correlation operation onthe shifted received sync word and the expected sync word. The slidingcorrelator 218 may iteratively perform a correlation operation on eachshifted version of the received sync word 109. The sliding correlator218 correlates each bit of the received sync word 109 to an expectedsync word according to a correlation threshold. The correlationthreshold may be set to a value between zero and N, inclusively, where Nis the number of bits of the sync word 109. If the correlation thresholdis N, then all the bits of the received sync word 109 must correlate tothe expected sync word to yield a result indicating that there is amatch. As another example, if N=32 and the correlation threshold is setto 31, then 31 or 32 bits of the received sync word 109 must correlateto the expected sync word. Otherwise, the correlation operation yields aresult indicating that there is no match.

The sliding correlator 218 is operable to receive and store the expectedsync word in the memory 207. The expected sync word may be received froma previous communication between the master device 103 and the slavedevice 106. Upon reconnect or re-synchronization, the correlationoperation is performed to re-synchronize the slave device 106 to themaster device 103.

FIG. 2 further depicts a slave device 106 that is operable tocommunicate with a master device 103. The slave device 106 comprisesprocessing circuitry 221. The processing circuitry 221 may includevarious components such as, for example, a memory 224, a receiver 228, atransmitter 232, a sync word generator 235, and other components. Theprocessing circuitry 221 and/or its components may be implemented usingone or more circuits, one or more microprocessors, application specificintegrated circuits, dedicated hardware, digital signal processors,microcomputers, central processing units, field programmable gatearrays, programmable logic devices, state machines, or any combinationthereof. In yet other embodiments, the processing circuitry 221 mayinclude one or more software modules executable by one or moreprocessing circuits. For example, the processing circuitry 221 mayinclude memory 224 configured to store instructions and/or code thatcauses the processing circuitry 221 to execute data communicationfunctions.

The processing circuitry 221 may comprise a receiver 228 and atransmitter 232. The receiver 228 may be configured to receive wirelesssignals transmitted over a network. Wireless signals, for example, mayexpress digitally formatted information that has been mixed andmodulated by carrier signals to facilitate wireless communication. Thereceiver 228 is configured to convert received wireless signals into adigital format. The transmitter 232 may generate wireless signals forwireless transmission to other devices in the communication system 100.The transmitter 232 may be operable to convert digital data into awireless signal. For example, the transmitter 232 may transmit the datastream 107 to other devices in the communication system 100.

The sync word generator 235 is operable to generate a sync word 109(FIG. 1) for a given device identifier, where the generated sync word isunique even under a cyclic shift. The device identifier may be, forexample, a lower address part (LAP) of a media access control (MAC)address associated with the slave device 106 or components of the slavedevice 106. In this respect, the sync word generator 235 receives adevice identifier as an input and maps the device identifier to acorresponding sync word 109 that is unique under cyclic shift. Accordingto various embodiments, the sync word generator 235 converts a 24-bitdevice identifier into a 32-bit sync word 109. The processing circuitry221 may insert one or more instances of the generated sync word 109 intothe data stream 107 (FIG. 1) for transmission of the data stream by thetransmitter 232.

FIG. 3A provides a representation of an example of the functionality ofthe sync word generator 235 of a slave device 106 (FIG. 1) of thecommunication system 100 of FIG. 1, according to various embodiments ofthe present disclosure. Specifically, FIG. 3A depicts the manner inwhich a sync word 109 (FIG. 1) may be generated by a sync word generator235, where the sync word 109 is unique under cyclic shift.

Various embodiments of the present disclosure are directed to usingChinese Remainder Theorem (CRT) to generate a sync word 109 (FIG. 1)that reduces or eliminates the risk of a cyclic collision 115 (FIG. 1).The solution to a CRT problem is a value, w, that is common to a set ofmodulo expressions. Each modulo expression may yield a set of congruentsolutions, and w is common among the sets of congruent solutions. Eachmodulo expression is dependent upon respective portions of the deviceidentifier. The result, w, corresponds to a sync word 109 that is uniqueunder cyclic shift and that is further bijectively mapped to the deviceidentifier. This non-limiting example of FIG. 3A assumes that the syncword bit size, N, is equal to 8. Although N=8 in this example, variousembodiments of the present disclosure allow N to be values other than 8.

The sync word generator 235 identifies a device identifier 301. In thisnon-limiting example, the device identifier is 4-bits using bits X0, X1,X2, and X3. The sync word generator 235 ultimately maps the 4-bitidentifier to an 8-bit sync word 109 (FIG. 1) that is unique undercyclic shift.

To begin, a set of moduli 308 are ascertained. According to variousembodiments, the set of moduli include all the prime factors of 2^(N)−1.In this case, N=8 and 2^(N)−1=255. Thus, the prime factors of 255 are 3,5, and 17. The set of moduli 308 are organized in order of j, where thefirst modulus, 3, corresponds to j=0, the second modulus, 5, correspondsto j=1, and the third modulus, 17, corresponds to j=2.

Next, a set of modulo expressions 311 are determined. A class ofremainders 313 may be solved for a modulo expression 311, where theclass of remainders 313 is referred to as r_(j). In this respect, r_(j)is the residue over jth prime factor of 2^(N)−1. A modulo expression 311further includes a modulus 308. The modulus 308 for each moduloexpression 311 is determined from the set of moduli 308. A modulus maybe referred to as m_(j). Each modulo in the set of moduli 308corresponds to a respective modulo expression 311. To this end, a firstmodulo expression 311 a uses a modulo of 3, a second modulo expression311 b uses a modulo of 5, and a third modulo expression 311 c uses amodulo of 17.

Moreover, a modulo expression 311 further includes a dividend 315. Thedividend 315 is the product of a first prime number, such as 2, raisedto the power of t_(j) and a second prime number, B_(j), raised to thepower of s_(j). The first prime number and the second prime number, aredependent on j. The exponents t_(j) and s_(j) are based on portions ofthe device identifier 301. Accordingly, the sync word generator 235 mayallocate respective portions of the device identifier 301 to determinevalues of the exponents t_(j) and s_(j) in order to calculate the valuesof the dividends 315.

After determining the variables of the modulo expressions 311, theclasses of remainders 313 are determined. The lowest common remainder328 among the classes of remainders 313 is determined, where the lowestcommon remainder may be referred to as w. If w is greater than 2^(N)−1,then w (mod (2^(N)−1)) may be performed to ensure that w is less than2^(N)−1.

The value w represents a sync word 109 (FIG. 1) that is generatedaccording to the device identifier 301 and that is unique under cyclicshift. In this respect, the sync word generator 235 bijectively maps thedevice identifier 301 to the value w to reduce or eliminate the risk ofa cyclic collision. The value w represents the lowest common remainder328 determined from the class of remainders 313. Each remainder amongthe class of remainders 308 is determined using the corresponding moduloexpression 311.

According to various embodiments, the equation for w is as follows:

$w = {\langle{\sum\limits_{j = 0}^{R - 1}{r_{j}\frac{M}{m_{j}}{\langle\left( \frac{M}{m_{j}} \right)^{- 1}\rangle}_{m_{j}}}}\rangle}_{M}$M = 2^(N) − 1

Using the equation above, in the case where N=8, the equation for w isas follows:

w=

85*r ₀+51*r ₁+120*r ₂

₂₅₅

As noted above, M=255, where M=2^(N)−1 and where the various m_(j)values include the moduli 308 of 3, 5, and 17. Thus, w is function ofthe various remainders, r₀, r₁, and r₂.

Additionally, the equation for w may be reduced to the followingequation in the case where N=32:

w=

1431655765*r ₀+3435973836*r ₁+505290270*r ₂+106956384*r ₃+214745088*r ₄

₄₂₉₄₉₆₇₂₉₅

The value M=2^(N)−1 such that M=4294967295. The various m_(j) valuesinclude the moduli 308 of 3, 5, and 17, 257, and 65537.

To determine the various r values, the sync word generator 235 mayemploy various schemes to allocate portions of the device identifier 301to the modulo expressions 311. For example, the first modulo expression311 a is based on j=0. According to the first modulo expression 311 a,0≦t_(o)<2 where T_(j)=2. That is to say, t_(o) is either 1 or 0 (i.e., a1-bit number) and the sync word generator 235 may be operable toallocate the first bit, X0, of the device identifier 301 to the exponentt_(o). The sync word generator 235 may allocate disjointed ornon-overlapping portions of the device identifier 301 to determine theexponents of the various dividends 315. Put another way, the T_(j) andS_(j) values provide an upper bound of a range of values of theexponents for a given dividend 315. When j=0 and/or when j=1, thecorresponding S_(j) may be set to zero. According to variousembodiments, the T_(j) and S_(j) are dependent only on j. The number ofj values depends on the number of prime factors of M.

According to various embodiments, the t_(j) value for the largest j isset to equal zero. In the non-limiting example of FIG. 3A, the largest jis equal to 2, thus, t₂ is set to equal zero. But setting the t_(j)value for the largest j to equal zero, the remainder 313, r_(j), for thelargest j ensures that the lowest common remainder 328, w, yields aresult that is unique under cyclic shift.

FIG. 3B is a drawing representing an example of the functionality of async word generator 235 (FIG. 2) of a slave device 106 (FIG. 1) of thecommunication system 100 of FIG. 1, according to various embodiments ofthe present disclosure. Specifically, FIG. 3B depicts the various casesof setting the one or more of the dividends 315 (FIG. 3A) among the setof modulo expressions 311 (FIG. 3A) to zero. Setting one or more of thedividends 315 to zero results in a different case. The sync wordgenerator 235 may use any number of preselected cases to generate a syncword 109 (FIG. 1).

Case 1, as depicted in FIG. 3B, sets all of the dividends 315 (FIG. 3A)to zero, while case 8 sets none of the dividends 315 to zero. Assumingthat N=8, case 8 may yield the largest number of unique sync words 109(FIG. 1) among the other cases.

Although FIGS. 3A and 3B assume N=8, various embodiments are not solimited. In some embodiments, N=32, thereby setting the sync word bitsize to 32. The following is an example of a sync word generator 235(FIG. 2) operable to generate a 32-bit sync word 109 (FIG. 1) based on a24-bit device identifier 301 (FIG. 3A).

If N=32, the set of moduli 308 (FIG. 3A) include the values 3, 5, 17,257, and 65537, which are the prime factors of 2^(N)−1=4294967295. Fivedifferent modulo expressions 311 (FIG. 3A) may be used, where j rangesfrom zero to four. The following is a list of the five moduloexpressions 311 used to determine w.

r₀≡2^(t0) (mod 3), where j=0

r₁≡2^(t1) (mod 5), where j=1

r₂≡2^(t2)*B^(s2) (mod 17), where j=2

r₃≡2^(t3)*B^(s3) (mod 257), where j=3

r₃≡2^(t4)*B^(s4) (mod 65537), where j=4

According to various embodiments, the first prime number of the dividend315 (FIG. 3A) is set to the value of 2 and the second prime number ofthe dividend 315 is set to the value of B=3. In some embodiments, noneof the dividends 315 are set to zero, which is similar to Case 8 shownin FIG. 3B. To achieve a bijective mapping from a 24-bit deviceidentifier 301 (FIG. 3A) to a 32-bit sync word 109 (FIG. 1). The valuet₀ is based on 1 bit of the device identifier 301, t₁ is based on 2 bitsof the device identifier 301, t₂ is based on 3 bits of the deviceidentifier 301, s₂ is based on 1 bit of the device identifier 301, t₃ isbased on 4 bits of the device identifier 301, s₃ is based on 4 bits ofthe device identifier 301, and s₄ is based on 9 bits of the deviceidentifier 301. Moreover, the value t₄ may be set to zero to ensure thatthe solution yields a result that is unique under cyclic shift. Thevalue t₄ may be set to zero because t₄ is the t value associated withthe largest j value. In this non-limiting example, the largest j valueis equal to 4.

The allocation of bits of the device identifier 301 (FIG. 3A) to thedividend exponents t and s may occur in any suitable manner.Non-overlapping portions of the device identifier 301 may be used todetermine these values.

According to some embodiments, the sync word generator 235 generates thesync word 109 (FIG. 1) that meets a condition. The condition may be, forexample, a specification that the sync word 109 is to include an oddnumber of 1's. Another condition may be, for example, a specificationthat that the sync word 109 is to include an even number of 1's. Byusing one or more conditions to generate the sync word 109, the syncword generator 235 has an additional mechanism to reduce the risk of acyclic collision.

In some embodiments, the sync word generator 235 (FIG. 2) mayiteratively generate sync words 109 (FIG. 1) until a condition is met.In this case, the sync word generator 235 may continue to determine async word 109 within a predetermined number of iterations, otherwise thesync word generator 235 times out and generates a sync word 109 thatdoes not satisfy the condition. For example, generating a sync word 109that meets a condition may take too much time or may be impossible giventhe value of the device identifier 301 (FIG. 3A). Using a predeterminednumber of iterations limits the amount of time or resources the syncword generator 235 uses to generate a sync word 109. Furthermore, thecorrelation threshold may be set to a value that is less than N.

For example, if the predetermined number of iterations is four, then thesync word generator 235 (FIG. 2) is give only four attempts to generatea sync word 109 that satisfies the condition. The first iteration ofsync word generation may be similar to Case 8, shown in FIG. 3B, wherenone of the dividends 315 (FIG. 3A) are set to zero. If the generatedsync word 109 does not satisfy the condition, then the second iterationof sync word generation may set one or more of the dividends 315 tozero. If the generated sync word 109 still does not satisfy thecondition, then the third iteration of sync word generation may set oneor more other dividends 315 to zero. The sync word generator 235 maycontinue to attempt to generate a sync word 109 that satisfies thecondition until the condition is satisfied or until the predeterminednumber of iterations is reached.

Turning now to FIG. 4, shown is a flowchart that provides an example ofoperation of a portion of the logic executed by the processing circuitry221 of a slave device 106 of FIG. 1, according to various embodiments.It is understood that the flowchart of FIG. 4 provides merely an exampleof the many different types of functional arrangements that may beemployed to implement the operation of the portion of the logic executedby the processing circuitry 221 as described herein. As an alternative,the flowchart of FIG. 4 may be viewed as depicting an example of stepsof a method implemented in the processing circuitry 221 according to oneor more embodiments.

Beginning at 403, the processing circuitry 221 (FIG. 2) identifies anidentifier of a wireless device. The identifier may be a deviceidentifier 301 (FIG. 3A) of a slave device 106 (FIG. 1). For example,the device identifier 301 may be based on at least a portion of a mediaaccess control (MAC) address of the slave device 106. According tovarious embodiments, a 24-bit device identifier 301 is identified by thesync word generator 235 (FIG. 2).

At 406, the processing circuitry 221 (FIG. 2) maps the identifier to async word 109 (FIG. 1) to avoid cyclic collision. For example, a syncword generator 235 (FIG. 2) generates a sync word 109 based on thedevice identifier 301 (FIG. 3A) such that there is a bijective mappingbetween the device identifier 301 and the sync word 109. Moreover, thegenerated sync word 109 may be unique under cyclic shift. For example,if a particular device identifier 301 is mapped to a sync word of“0101,” then no other device identifier 301 may be mapped to cyclicallyshifted versions of “0101.” That is to say, no other device identifier301 may be mapped to the sync word “1010,” which is the only cyclicallyshifted version of “0101.”

According to various embodiments, the sync word generator 235 (FIG. 2)uses CRT to generate the sync word 109 (FIG. 1). For example, the syncword generator 235 may determine an exponent of a prime number accordingto a portion of the device identifier 301 (FIG. 3A). The exponent andthe prime number may be used to determine the dividend 315 (FIG. 3A) ofa modulo expression 311 (FIG. 3A) among a set of modulo expressions 311.The sync word generator 235 may use non-overlapping portions of thedevice identifier 301 to determine respective exponents of the variousmodulo expressions 311. These exponents may correspond to the t and svalues of FIG. 3A.

In some embodiments, one or more dividends 315 (FIG. 3A) of the moduloexpressions 311 (FIG. 3A) may be set to zero. By setting the dividend315 to zero, the number of possible sync words 109 (FIG. 1) increases.

When generating the sync word 109 (FIG. 1), the sync word generator 235(FIG. 2) may iteratively attempt to generate a sync word 109 thatsatisfies a condition until that condition is met or until apredetermined number of iterations is reached. A condition may relate towhether the number of 1's or 0's in the sync word 109 is even or odd.

At 409, the processing circuitry 221 (FIG. 2) inserts instances of thesync word 109 (FIG. 1) in a data stream 107 (FIG. 1). For example, thesync word 109 may occupy two or more fields in a data packet to allowfor multiple instances of the sync word 109 to be transmitted. At 412,the processing circuitry 221 (FIG. 2) transmits the data stream 107 to aremote wireless device. The transmitter 232 (FIG. 2) of the processingcircuitry 221 may transmit the data stream 107 to a remote wirelessdevice that is a master device 103 (FIG. 1). The transmission of thisdata stream 107 may be part of a re-synchronization process where aslave device 106 (FIG. 1) is attempting to reconnect or reattach to awireless network. The master device 103 may include a receiver 212 (FIG.2) that receives the data stream 107 and identifies the sync word 109embedded in the data stream 107. Moreover, the master device 103 mayinclude a sliding correlator 218 (FIG. 2) to correlate the received syncword 109 with an expected or previously received sync word 109.

The flowchart of FIG. 4 shows the functionality and operation of animplementation of portions of the processing circuitry 221 (FIG. 2)implemented in a slave device 106 (FIG. 1). Portions of the flowchart ofFIG. 4 may be embodied as software. For example, software may be used tosimulate the various components discussed above with respect to at leastFIG. 4. If embodied in software, each reference number, represented as ablock, may represent a module, segment, or portion of code thatcomprises program instructions to implement the specified logicalfunction(s). The program instructions may be embodied in the form ofsource code that comprises human-readable statements written in aprogramming language or machine code that comprises numericalinstructions recognizable by a suitable execution system such as aprocessor in a computer system or other system. The machine code may beconverted from the source code. If embodied in hardware, each block mayrepresent a circuit or a number of interconnected circuits to implementthe specified logical function(s).

Although the flowchart of FIG. 4 depicts a specific order of execution,it is understood that the order of execution may differ from that whichis depicted. For example, the order of execution of two or more blocksmay be scrambled relative to the order shown. Also, two or more blocksshown in succession in FIG. 4 may be executed concurrently or withpartial concurrence. Further, in some embodiments, one or more of theblocks shown in FIG. 4 may be skipped or omitted. In addition, anynumber of counters, state variables, warning semaphores, or messagesmight be added to the logical flow described herein, for purposes ofenhanced utility, accounting, performance measurement, providingtroubleshooting aids, etc. It is understood that all such variations arewithin the scope of the present disclosure.

Also, any logic or application described herein, including theprocessing circuitry 221 (FIG. 2), that comprises software or code canbe embodied in any non-transitory computer-readable medium for use by orin connection with an instruction execution system such as, for example,a processor in a computer system or other system. In this sense, thelogic may comprise, for example, statements including instructions anddeclarations that can be fetched from the computer-readable medium andexecuted by the instruction execution system. In the context of thepresent disclosure, a “computer-readable medium” can be any medium thatcan contain, store, or maintain the logic or application describedherein for use by or in connection with the instruction executionsystem. For example, the memory 207 (FIG. 2) of the master device 103(FIG. 1) and the memory 224 (FIG. 2) of the slave device 106 (FIG. 1)may include computer-readable medium.

The computer-readable medium can comprise any one of many physical mediasuch as, for example, magnetic, optical, or semiconductor media. Morespecific examples of a suitable computer-readable medium include, butare not limited to, magnetic tapes, magnetic floppy diskettes, magnetichard drives, memory cards, solid-state drives, USB flash drives, oroptical discs. Also, the computer-readable medium may be a random accessmemory (RAM) including, for example, static random access memory (SRAM)and dynamic random access memory (DRAM), or magnetic random accessmemory (MRAM). In addition, the computer-readable medium may be aread-only memory (ROM), a programmable read-only memory (PROM), anerasable programmable read-only memory (EPROM), an electrically erasableprogrammable read-only memory (EEPROM), or other type of memory device.

It is emphasized that the above-described embodiments of the presentdisclosure are merely possible examples of implementations set forth fora clear understanding of the principles of the disclosure. Manyvariations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, at least the following is claimed:
 1. A method, comprising:generating a sync word according to an identifier associated with atransmitter, the sync word being unique under a cyclic shift of the syncword; inserting a plurality of instances of the sync word into a datapacket; and transmitting the data packet to a receiver, the receiverbeing operable to perform a sliding correlation operation to facilitatecommunication with the transmitter via a communication protocol.
 2. Themethod of claim 1, wherein generating the sync word comprisesbijectively mapping the identifier to the sync word to avoid cycliccollision.
 3. The method of claim 1, wherein generating the sync wordcomprises generating the sync word according to a condition, thecondition specifying that the sync word is to comprise an odd number of1's or an even number of 1's.
 4. The method of claim 1, whereingenerating the sync word comprises generating the sync word according tothe Chinese Remainder Theorem.
 5. The method of claim 4, wherein thesync word is N bits, wherein generating the sync word comprisesgenerating the sync word according to a set of moduli, the set of modulicomprising all the prime factors of 2^(N)−1.
 6. The method of claim 5,wherein the sync word is determined according to a common remainderamong a plurality of modulo expressions using the set of moduli.
 7. Themethod of claim 6, wherein a modulo expression among the plurality ofmodulo expressions comprises a dividend, the dividend being determinedaccording to raising a prime number to the power of an exponent, theexponent being determined according to a portion of the identifier. 8.The method of claim 1, wherein generating the sync word comprisesgenerating the sync word according to a modulo expression based on theChinese Remainder Theorem, wherein the modulo expression is defined asfollows:r≡(2^(t) *B ^(s))mod(m) wherein r comprises a class of remainders,wherein t is based on a portion of the identifier, wherein B is a primenumber greater than 2, wherein s is based on another portion of theidentifier, wherein m is a modulus that is one of a plurality of primefactors of M, wherein M is based on a size of the sync word.
 9. A systemcomprising: a wireless communication device operable to: bijectively mapa device identifier to a sync word, the sync word being unique under acyclic shift of the sync word, the sync word comprising N bits; andtransmit, via a transmitter, a first instance of the sync word and asecond instance of the sync word to a receiver; and wherein the receiveris operable to perform a sliding correlation operation on at least oneof the first instance of the sync word or the second instance of thesync word to facilitate communication with the transmitter via acommunication protocol.
 10. The system of claim 9, wherein the deviceidentifier is based on a lower address part (LAP) of a media accesscontrol (MAC) address associated with the transmitter.
 11. The system ofclaim 9, wherein the wireless communication device is operable togenerate the sync word according to the Chinese Remainder Theorem. 12.The system of claim 11, wherein the wireless communication device isoperable to generate the sync word by identifying a remainder that iscommon to a plurality of modulo expressions.
 13. The system of claim 12,wherein each modulo expression comprises a respective dividend and arespective modulus that is one of a plurality of prime factors of M,wherein M is equal to 2^(N)−1.
 14. The system of claim 9, wherein thewireless communication device is operable to bijectively map the deviceidentifier to a plurality of sync words until a condition is met forgenerating the sync word within a predetermined number of iterations.15. A wireless communication device comprising: a transmitter; andprocessing circuitry, the processing circuitry comprising: circuitrythat generates a sync word according to an identifier of the wirelesscommunication device, the sync word being unique under a cyclic shift ofthe sync word; circuitry that inserts a plurality of instances of thesync word into a data stream; circuitry that transmits, via thetransmitter, the data stream to a receiver, the receiver being operableto perform a sliding correlation operation on the sync word.
 16. Thewireless communication device of claim 15, wherein the sync word isgenerated according to the Chinese Remainder Theorem by identifying aremainder that is common to a plurality of modulo expressions.
 17. Thewireless communication device of claim 16, further comprising: circuitrythat divides the identifier into a plurality of non-overlappingportions, the plurality of non-overlapping portions comprising a firstportion; and circuitry that determines a first exponent of a first primenumber according to the first portion, the first exponent and the firstprime number being used to determine a dividend of a modulo expressionamong the plurality of modulo expressions.
 18. The wirelesscommunication device of claim 17, wherein the plurality ofnon-overlapping portions comprises a second portion; the wirelesscommunication device further comprising circuitry that sets the secondportion as a second exponent of a second prime number, the secondexponent and the second prime number being further used to determine thedividend of the modulo expression.
 19. The wireless communication deviceof claim 16, wherein a set of moduli are used as moduli for theplurality of modulo expressions, wherein the set of moduli comprise thevalues of 3, 5, 17, 257, and
 65537. 20. The wireless communicationdevice of claim 15, further comprising circuitry that generates a 32 bitsync word according to a 24 bit identifier.